package org.javahispano.javacup.tacticas_aceptadas.Pencerval.com.viavansi.javacup;

import java.util.LinkedList;
import java.util.List;

import org.javahispano.javacup.modelo.Comando;
import org.javahispano.javacup.modelo.ComandoIrA;
import org.javahispano.javacup.modelo.Posicion;
import org.javahispano.javacup.modelo.SituacionPartido;
import org.javahispano.javacup.modelo.Tactica;
import org.javahispano.javacup.modelo.TacticaDetalle;
import org.javahispano.javacup.modelo.Comando.Tipo;

import org.javahispano.javacup.tacticas_aceptadas.Pencerval.com.viavansi.javacup.alineaciones.Posiciones;
import org.javahispano.javacup.tacticas_aceptadas.Pencerval.com.viavansi.javacup.impactos.Impactos;
import org.javahispano.javacup.tacticas_aceptadas.Pencerval.com.viavansi.javacup.movimiento.Posicionamiento;
import org.javahispano.javacup.tacticas_aceptadas.Pencerval.com.viavansi.javacup.situaciones.Saque;

public class TacticaPencerval implements Tactica{

	List<Comando> comandos;
	
	@Override
	public List<Comando> ejecutar(SituacionPartido sp)  {
    	comandos=new LinkedList<Comando>();
    	//for(int cont=0;cont<11;cont++){
    	//	comandos.add(new ComandoIrA(cont,Posiciones.standar[cont]));
    	//}
		Posicionamiento.posicionRelativa(sp,comandos);
    	if(sp.saco()){
    		Saque.sacar(sp,comandos);
    	}
    	Impactos.impactarBalon(sp, comandos);
    	/*for(Comando comando:comandos){
    		if(comando.getIndJugador()==0){
    			if(comando.getTipo()==Tipo.IR_A){
    				System.out.println(((ComandoIrA)comando).getIrA());
    			}
    		}
    	}*/
    	return comandos;
    }

	@Override
	public TacticaDetalle getDetalle() {
		return TacticaDetalleProImplementation.getTactica();
	}

	@Override
	public Posicion[] getPosicionRecive(SituacionPartido sp) {
		return Posiciones.recibir;
	}

	@Override
	public Posicion[] getPosicionSaca(SituacionPartido sp) {
		return Posiciones.sacar;
	}
}
